A free upgrade to v1.0.3 of nShell-Pro is available to owners of earlier versions.
If you have any questions about these changes, or have noticed any other problems, please send eMail to jjensen@kaiwan.com
===== Changes in v1.0.3
C.R. #199 Flow of control problem on block boundaries
Flow of control commands sometimes failed in scripts. The problem was tracked to an error in file handling.
C.R. #196 ‘cd’ to dir of click (TEXT) scripts
When an nShell script is double-clicked, or a text file is dropped on the nShell application, set the working directory to the directory containing the script file.
This provides a method of quick-starting the nShell from any directory. Just leave a file with a Creator of 'NSHA' and a Type of 'TEXT', and perhaps a single line like "echo ready", in your directory. Double-clicking that icon fires up the nShell, and sets the working directory to your current location.
C.R. #192 Make text files work as click-able, drop-able scripts
Allow text files to be dropped on the nShell application, or when they have a Creator of 'NSHA' allow them to be double-clicked.
NOTE: The nShell will attempt to run any text file dropped on it, and will not invoke an editor.
C.R. #191 Improve Icons
The icons for Creator 'NSHA', Type 'TEXT' have been changed to script style icons. If you have used a previous version of the nShell, you may wish to rebuild your desktop to see the new icons.
C.R. #188 Pipes within scripts sometimes fail
Redirection data was mismanaged within scripts.
C.R. #183 Empty “ls” problem
The 'ls' command and wildcard substitution (echo *) failed at some sites. The problem was tracked to a 'short' dirID within a directory scan routine.
C.R. #181 Write a drag and drop engine
This template may be used to convert nShell scripts into drag and drop applications. The files or directories dropped on the script are available as standard variables $0..$n. See the new "drag and drop" section of the User's Guide.
C.R. #177 Write a “shift” command
A new "shift" command helps manipulate variables within shell scripts. See "man shift" for more information.
C.R. #176 Write a “read” command
A new "read" command allows variables to be read from standard input. See "man read" for more information.
C.R. #172 Make “which” work with flow of control keywords
===== Changes in v1.0.2
C.R. #174 The “find” dialog changes “ignore case” on “cancel”
The "find" dialog accepted "ignore case" control changes, even when the user selected "cancel".
C.R. #173 Print an error message when “which” parameter is too long.
The "which" and "pathchk" commands did not do error checking on pathname length. The buffers would be overrun on pathnames longer than 255 characters.
C.R. #171 Speed up input redirection
A new buffer speeds redirection.
C.R. #170 Add man pages for flow
"man pages" for Flow Of Control keywords have been added. To access these pages, you must quote the keyword, as in man "if".
C.R. #169 Scripts do not return correct status
The Return Code for a script should be the Return Code of the last command executed within the script. In some cases the Return Code was lost.
C.R. #167 “yesno” does not handle ^D
Two problems. "NSH_getchar" did not return -1 when a ^D was typed on the keyboard, but returned it directly. Secondly, the "yesno" command did not handle -1 as a return value.
C.R. #166 “wc <foo” outside home directory fails
A bad one! The pathname was not correctly managed, so input redirection failed outside the home directory.
C.R. #165 Fix “NSH_gets” for Return characters
The "gets" callback has been corrected and improved. An error which caused "gets" to read past '\r' when reading from a file has been fixed. See the "nShell(tm) Programmer's Guide v1.0.2" for details.
C.R. #164 “echo” directly from command buffer
The "echo" command has been improved. It may now echo up to a full line (2048 chars).
C.R. #161 Correct Return Codes in Programmer’s Guide
The Return Codes for a number of functions (NSH_which, NSH_set) were incorrectly documented in earlier versions of the Programmer's Guide.
C.R. #159 “man >dev:null”
There was an error in pipes to "dev:null". The simple output redirectors ">" and ">>" always acted like error redirectors ">&" and ">>&".
C.R. #103 Write an “exit” command for scripts
A new "exit" command allows immediate exit from within shell scripts. A Return Code may be assigned. See "man exit" for more information.
C.R. #102 Write an “export” command for scripts
A new "export" command allows variables to exported from within shell scripts. See "man export" for more information.
C.R. #74 Implement a CodeWarrior external command interface
A number of examples were written to illustrate now nShell commands may be written using Metrowerks' CodeWarrior. This package is available as "nShell(tm) CodeWarrior Examples". Also see "TN 1 - CodeWarrior".
C.R. #72 Implement a Pascal external command interface
A new interface library has been written to allow nShell commands to be developed using Think Pascal. This package is available as "nShell(tm) Think Pascal Examples". Also see "TN 2 - Think Pascal".
===== Changes in v1.0.1
C.R. #175 Preserve paths on “save” and “open” of transcript
Version 1.0.0 did not properly save and restore system variables when shell transcripts were saved and restored.